package com.iskny.framework.admin.controllor;

import com.iskny.framework.admin.interceptor.LoginInterceptor;
import com.iskny.framework.config.Constants;
import com.iskny.framework.model.Siteurl;
import com.iskny.framework.model.ModelState;
import com.iskny.framework.model.MyPage;
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.plugin.ehcache.CacheName;
import com.jfinal.plugin.ehcache.EvictInterceptor;
@Before(LoginInterceptor.class)
public class SiteurlAction extends Controller {

	private static final Constants constant = Constants.me();
	private Siteurl siteurlDao = Siteurl.dao;
	private int pageSize = constant.getPageSize();
	public void index(){
		MyPage page = siteurlDao.pageSiteurl(getParaToInt(0,1),pageSize);
		setAttr("page", page);
		render("siteurllist.html");
	}
	public void edit(){
		long id = getParaToLong(0,-1L);
		if(id!=-1L){
			Siteurl siteurl = siteurlDao.findById(id);
			setAttr("siteurl", siteurl);
		}
		render("siteurledit.html");
	}
	@Before({EvictInterceptor.class,SiteurlValidator.class})
	@CacheName(Siteurl.siteurlPageKey)//更新缓存
	public void save(){
		Siteurl siteurl = getModel(Siteurl.class);
		if(siteurl.get("id")!=null){
			siteurl.update();
		}else{
			siteurl.save();
		}
		redirect("/admin/siteurl");
	}
	@Before(EvictInterceptor.class)
	@CacheName(Siteurl.siteurlPageKey)
	public void delete(){
		long id = getParaToLong(0,-1L);
		if(id!=-1L){
			Siteurl siteurl = siteurlDao.findById(id);
			siteurl.set("state", ModelState.deleted).update();
		}
		redirect("/admin/siteurl");
	}
}
